Many devices, including image analysis and surveillance equipment, use digital images. These images typically have a very short lifetime and are discarded once the useful information is extracted. However, many of these digital images are still useful for subsequent manual or automated analysis. But because of the large amounts of storage space required to save this information, existing systems often discard or overwrite this information. Examples of such systems include machine vision systems and medical imaging systems.
FIG. 1 is a block diagram illustrating a typical image analysis system 100. The system 100 includes one or more image acquisition devices (each typically implemented with a video camera) shown as image acquisition devices 105a and 105b. Each image acquisition device produces one or more digital images, shown as 110a, 110b, and 110c. In this case, image acquisition device 105a produces images 110a and 110b, and image acquisition device 105b produces image 110c. The size, pixel depth and other attributes of every image need not be identical. System 100 also includes image analysis block 115 to perform image processing and analysis on images 110a, 110b, and 110c. The details and type of image processing and analysis depends upon the nature of the image analysis system. System 100 can also include a classification step, 120, to produce one or more parameters to describe the images that were analyzed. Image analysis 115 can also produce zero or more additional images as a by-product, in this example images 110d, 110e, and 110f. 
As the cost of digital storage (for example, optical and magnetic) has decreased, the prevalence and speed of digital networks has inversely increased. This development now makes the archiving, post-analysis and reporting of image data technically feasible. For example, in U.S. Pat. No. 5,864,984 entitled “System and method for measuring seedlot vigor”, growth measurements are extracted from a digital image and the image is then discarded. However, these discarded images contain a useful record of the experiment itself and discarding the images may result in a permanent loss of valuable information. One use of these images is to improve the existing analysis method by retaining the images in a lossless fashion, such that an image database containing these images can be used for subsequent analysis.
Image databases are frequently used to develop, enhance, and validate image analysis systems. The creation of an image database is often accomplished by capturing a sequence of images and then classifying each image. This classification reduces an image to a number of parameters used to describe the image. One of the inherent problems when creating an image database is the amount of time required to store each image in the database. For processes that produce images very quickly, there is often insufficient time to store an image before the next image is produced. One method is to selectively drop images thereby not storing every image in the database. An alternative method is to reduce the speed at which images are acquired, thereby allowing the image database to store all of the images. For example, in a machine vision application where a video camera is used to acquire images of manufactured widgets, the speed at which widgets are manufactured can be reduced such that a complete image database can be created. If methods like these are not employed, there can be insufficient time to both analyze and store the image.
Another method that can be used to create an image database is to capture and record the video stream directly from the device that produces the image (typically a CCD camera) or from the one or more image analysis devices. One common storage device is videotape since it can easily store an analog copy of a digital video stream. The problem is that the original digital video stream is degraded by storing it as an analog copy. This means that the stored images are really only suitable as a human visual record, as the images have been degraded to a point such that they are no longer useful for analysis. Saving all digital images, or selectively saving those images considered interesting, has a plurality of uses. By saving the digital video stream in an un-compromised manner, each image can be stored to provide a visual record of events that can be used subsequently to validate or enhance the analysis.
For performance reasons, image databases are best stored on the same machine where the images are acquired. But this also limits their usefulness because accessing these images can be difficult or slow, and simultaneously slow down the image acquisition system sharing the machine. Storing digital images on a separate machine allows the images from multiple image analysis devices to be combined, further enhancing their usefulness. Storing these images on a remote image database, however, is dependent upon the uptime of its network. Network outages or network traffic can render this method useless since these problems cannot be predicted in advance. Existing systems are further limited because they do not offer a means to dynamically adjust the transmission and archival of images as the network or other resources degrade.